Real-time computer image generation systems are being more frequently used to generate realistic images for a variety of simulation system, such as battle-tank, flight and the like simulators which are utilized as training devices which permit an individual to obtain practice in a particular environment (i.e. combat) without the necessity of going into the actual environment and utilizing the actual (combat) system. The user is enable to acquire, maintain and improve associated skills without the expense normally associated with live training. It is therefore extremely advantageous to provide the user with a video display having a high degree of realism so as to be most beneficial for training and practice purposes.
It is now well known to utilize polygons to approximate real object contours in computer image generation. The most realistic simulations require highly accurate methods for simulating the illumination effect of light sources on these polygons; illumination effect simulation methods are well known in the CIG arts. These methods, which are often very computationally intense (to the point of being prohibitively expensive) typically must be used for each point to be displayed, with the computation being repeated for each and every light source. Many CIG systems thus require restriction on the number of light sources which can be utilized, to allow computations to be completed for all points within a field, in the time available (e.g. 16.67 mSec, for a 60 field interlaced raster scan).
The methods utilized to simulate light source illumination effects cover at least five separate areas: simulation of the light source itself; simulation of source light reflected from a surface; simulation of light source reflections from a surface shape due to shading; simulation of source light reflected by atmosphere particles; and simulation of source light due to intervening surfaces between each source and the point presently in consideration. It will be seen that data obtained by simulation of each light source in one category is utilized in each of the subsequent simulation areas, so that simplification of light source illumination computations in one area may effectively reduce computational needs in other areas of real-time computer image generation.
Light sources can generally be simulated by one, or a combination, of only three source types: a point source, such as a flare and the like, would be located at a definite light source position, and emits a sphere of light with the light intensity of each of the radially-emitted directional rays being attenuated with distance from the source position; a beam of light is simulated by narrowing the emission angle so that the emitted rays thereof form a light cone directed away from the light source position in a known direction, and with the rays also having an intensity attenuated with distance from the source position (this source approximates landing lights and the like); or, by setting the spreading angle of the light cone essentially to zero, a cylinder of light can be provided for simulating very narrow light beams (e.g. from a searchlight, a laser and the like), in which the emission position is broadened to a line, of extent equalled to the cylinder diameter (instead of the point source emitter utilized with a sphere or beam of light), but with the substantially parallel light rays in the cylinder still being attenuated with distance from the light position.
It is therefore highly desirable to provide simplified methods for representing the amplitude and direction of light illuminating a particular point, upon a surface under consideration, during computer image generation in a system of any desired degree of complexity.